Party Ledger Viewing and Filtering
1. Ledger Filtering Criteria
- The system must provide a filter section at the top of the "Party Ledger" page.
- Users must be able to select the following mandatory fields (marked with *) before generating the ledger:
- Party Type: Dropdown to select the type of partner (e.g., Distributor).
- Party Name: Dropdown to select the specific party/account (e.g., CN DIS 1).
- Date From: Calendar date picker to set the start date of the ledger period.
- Date To: Calendar date picker to set the end date of the ledger period.
- The system must include a Filter button to apply these criteria and populate the data table below.
- The system must include a Preview button to generate a viewable document (e.g., PDF/Print preview) of the filtered ledger.
2. Ledger Data Table Display
- Upon applying the filter, the system must display a tabular list of transactions.
- The table must include the following sortable columns: #, Document (Transaction type), Document No., Date, Debit, Credit, and Balance.
- The table must support pagination, allowing users to select the number of records displayed via a "Show [X] entries" dropdown.
- The system must include a global "Search" bar to quickly find specific document numbers or amounts within the generated ledger.
- The system must provide a Download button to export the filtered ledger data (e.g., to CSV or Excel).
3. Ledger Transaction Logic & Formatting
- The first row of the generated ledger must always display the Opening Balance for the selected date range.
- Middle rows should display the individual transactions (e.g., "Sales Invoice") along with their respective Document Numbers, Dates, and Debited/Credited amounts.
- The running Balance must be calculated dynamically based on the debits and credits.
- The final row must calculate and display the Closing Balance.
- The Closing Balance text and its corresponding amount must be visually highlighted (e.g., formatted in bold red text) to ensure it stands out to the user.